Relational database technology represents an advancement over early data tables due to the relationships established between the data tables during the storage and retrieval processes. These relationships allow the data stored within the relational database to be logically searched and manipulated by the RDBMS.
An end user typically interacts with a RDBMS (e.g., an Oracle.TM. database) through the use of structured query language ("SQL") statements which logically define the parameters of the search query. However, for an end user to accurately query a relational database using SQL statements, the end user must have a working knowledge of the particular structured query language that is used with the relational database and must also be intimately familiar with the structure of the particular relational database itself. Unfortunately, the end user's task is complicated by the fact that structured query languages are widely perceived to be complex languages which are difficult for end users to comprehend and use efficiently.
To shield end users from the complexities of SQL, many RDBMSs utilize predefined queries which end users may access and apply to the underlying relational database through the use of a menu system. Alternatively, more recent relational database management systems have employed a graphical user interface ("GUI") to allow end users to formulate queries in a manner which does not require any knowledge of SQL. For example, U.S. Pat. No. 5,428,737, issued to Li et al. for a process of COMPREHENSIVE BILATERAL TRANSLATION BETWEEN SQL AND GRAPHICALLY DEPICTED QUERIES, describes a method and system for translating back and forth between SQL statements and graphical format queries. Such translation allows end users to formulate new database queries in the graphical domain with no prior knowledge of SQL. Additionally, due to the bilateral nature of the translation, end users may also import previously constructed SQL queries and modify those queries in the graphical domain.
U.S. Pat. No. 5,555,403, issued to Cambot et al. for a RELATIONAL DATABASE ACCESS SYSTEM USING SEMANTICALLY DYNAMIC OBJECTS, also describes a system for allowing end users to query a relational database without knowing either the relational structure of the database or any particular structured query language. The system appears to use a graphical user interface which allows end users to define database queries using familiar graphical elements (e.g., multiple windows and a "point and click" interface). The system then translates the graphical query into a SQL statement that the underlying relational database can understand. Once the relational database executes the translated query, the GUI displays the results of the query in a tabular format.
As represented in the above-described references, the integration of a RDBMS with a GUI can greatly enhance or facilitate the ease with which the contents of a relational database can be searched or modified. In particular, end users having little or no experience with relational databases or structured query languages can utilize the GUI to perform complex database queries or to edit the contents of the relational database.
However, the integration of a GUI with an underlying relational database as described in the above patent references is typically accomplished by a software programmer who is completely familiar with both the structure of the relational database as well as the particular SQL used to interface with the database. The programmer thus constructs a static (i.e., hard-coded) GUI based on the existing structure (i.e., the specific tables and columns) of the relational database.
Typically, for each different database application, a customized GUI must be specifically constructed or tailored to meet the unique requirements for the type of data contained within the relational database as well as the manner in which the data is displayed to the end user. Therefore, a single standardized GUI will not typically suffice for a number of different relational databases, and a new customized interface must generally be created for each new database application. Additionally, many existing database applications will evolve over time and thus require changes to the underlying database structure. However, for each modification to the structure of an existing relational database (e.g., adding one or more columns to the database or modifying the attributes of existing columns), corresponding coding changes to the customized GUI will generally be required. Modifications to the database structure and GUI usually require the expertise of a database administrator and a software developer and thus can be time consuming and costly, particularly where the relational database serves as an inventory management tool for a dynamic, growing environment such as the International Space Station ("ISS") or in any other commercial applications which exhibit parallels to the ISS.
A relational database is well suited to managing the inventory of the ISS where thousands of items must be efficiently stowed in a limited amount of space. The inventory items must be constantly tracked as new items are transported to the ISS and used or worn items are returned to earth. A customized GUI is essential to allow the astronauts of different nationalities to interface with (e.g., query or update) the relational database since it is unlikely that the astronauts will be fluent in structured query languages. However, the ISS will be built in stages over the course of several years so that the definition of the station (and therefore the definition of the inventory management system itself) will be continuously modified over time. Due to the dynamic environment of the ISS, existing relational databases and their corresponding static GUIs will be unable to adapt to the fluctuating definition of the inventory management system.
Because astronauts will inhabit and conduct scientific research on the ISS prior to its complete construction, there is a need for an integrated relational database inventory management system and a customized GUI which will provide astronauts a simple way to track the inventory of the station. The GUI should allow the astronauts to efficiently query the database as well as modify the contents of the database without requiring a knowledge of structured query languages. Additionally, because the environment of the ISS will evolve over time, the GUI should allow the astronauts to alter the definition or the structure of the inventory management system (i.e., the relational database) without requiring any special software programming skills on the part of the astronauts. However, currently available relational database management systems and their corresponding graphical interfaces do not currently provide such a self-modifying ability. Rather, skilled database managers and software developers must alter the code of both the relational database and the GUI whenever the definition of the relational database is altered. The drawbacks of such systems are obvious where the relational database is used on board an orbiting space station populated by multi-national astronauts having little or no experience with either relational databases or structured query languages.
It is with respect to these and other background considerations, limitations and problems, that the technique of the present invention has evolved.